// vite.config.ts
import path2 from "node:path";
import process from "node:process";
import { loadEnv } from "file:///C:/Users/AIC/Desktop/work/official-website-h5-new/node_modules/.pnpm/vite@5.2.12_@types+node@20.12.13_less@4.2.0_sass@1.77.6_terser@5.31.0/node_modules/vite/dist/node/index.js";
import viewport from "file:///C:/Users/AIC/Desktop/work/official-website-h5-new/node_modules/.pnpm/postcss-mobile-forever@4.1.4_postcss@8.4.38/node_modules/postcss-mobile-forever/index.js";
import autoprefixer from "file:///C:/Users/AIC/Desktop/work/official-website-h5-new/node_modules/.pnpm/autoprefixer@10.4.19_postcss@8.4.38/node_modules/autoprefixer/lib/autoprefixer.js";

// build/vite/index.ts
import { dirname, resolve } from "node:path";
import { fileURLToPath } from "node:url";
import { unheadVueComposablesImports } from "file:///C:/Users/AIC/Desktop/work/official-website-h5-new/node_modules/.pnpm/@unhead+vue@1.9.11_vue@3.4.27_typescript@5.4.5_/node_modules/@unhead/vue/dist/index.mjs";
import legacy from "file:///C:/Users/AIC/Desktop/work/official-website-h5-new/node_modules/.pnpm/@vitejs+plugin-legacy@5.4.0_terser@5.31.0_vite@5.2.12_@types+node@20.12.13_less@4.2.0_sass@1.77.6_terser@5.31.0_/node_modules/@vitejs/plugin-legacy/dist/index.mjs";
import vue from "file:///C:/Users/AIC/Desktop/work/official-website-h5-new/node_modules/.pnpm/@vitejs+plugin-vue@5.0.4_vite@5.2.12_@types+node@20.12.13_less@4.2.0_sass@1.77.6_terser@5.31._qz7e2xpbndnzsbz46jwcnglahy/node_modules/@vitejs/plugin-vue/dist/index.mjs";
import UnoCSS from "file:///C:/Users/AIC/Desktop/work/official-website-h5-new/node_modules/.pnpm/unocss@0.60.3_postcss@8.4.38_rollup@4.18.0_vite@5.2.12_@types+node@20.12.13_less@4.2.0_sass@1.77.6_terser@5.31.0_/node_modules/unocss/dist/vite.mjs";
import AutoImport from "file:///C:/Users/AIC/Desktop/work/official-website-h5-new/node_modules/.pnpm/unplugin-auto-import@0.17.6_@vueuse+core@10.10.0_vue@3.4.27_typescript@5.4.5___rollup@4.18.0/node_modules/unplugin-auto-import/dist/vite.js";
import { VantResolver } from "file:///C:/Users/AIC/Desktop/work/official-website-h5-new/node_modules/.pnpm/unplugin-vue-components@0.27.0_@babel+parser@7.24.6_rollup@4.18.0_vue@3.4.27_typescript@5.4.5_/node_modules/unplugin-vue-components/dist/resolvers.js";
import Components from "file:///C:/Users/AIC/Desktop/work/official-website-h5-new/node_modules/.pnpm/unplugin-vue-components@0.27.0_@babel+parser@7.24.6_rollup@4.18.0_vue@3.4.27_typescript@5.4.5_/node_modules/unplugin-vue-components/dist/vite.js";
import { VueRouterAutoImports } from "file:///C:/Users/AIC/Desktop/work/official-website-h5-new/node_modules/.pnpm/unplugin-vue-router@0.9.0_rollup@4.18.0_vue-router@4.3.2_vue@3.4.27_typescript@5.4.5___vue@3.4.27_typescript@5.4.5_/node_modules/unplugin-vue-router/dist/index.js";
import VueRouter from "file:///C:/Users/AIC/Desktop/work/official-website-h5-new/node_modules/.pnpm/unplugin-vue-router@0.9.0_rollup@4.18.0_vue-router@4.3.2_vue@3.4.27_typescript@5.4.5___vue@3.4.27_typescript@5.4.5_/node_modules/unplugin-vue-router/dist/vite.js";
import mockDevServerPlugin from "file:///C:/Users/AIC/Desktop/work/official-website-h5-new/node_modules/.pnpm/vite-plugin-mock-dev-server@1.5.0_rollup@4.18.0_vite@5.2.12_@types+node@20.12.13_less@4.2.0_sass@1.77.6_terser@5.31.0_/node_modules/vite-plugin-mock-dev-server/dist/index.js";
import { VitePWA } from "file:///C:/Users/AIC/Desktop/work/official-website-h5-new/node_modules/.pnpm/vite-plugin-pwa@0.20.0_vite@5.2.12_@types+node@20.12.13_less@4.2.0_sass@1.77.6_terser@5.31.0__tuh4lzrpaenjsxykynrzykcfwm/node_modules/vite-plugin-pwa/dist/index.js";
import Sitemap from "file:///C:/Users/AIC/Desktop/work/official-website-h5-new/node_modules/.pnpm/vite-plugin-sitemap@0.6.2/node_modules/vite-plugin-sitemap/dist/index.js";
import VueDevTools from "file:///C:/Users/AIC/Desktop/work/official-website-h5-new/node_modules/.pnpm/vite-plugin-vue-devtools@7.2.1_rollup@4.18.0_vite@5.2.12_@types+node@20.12.13_less@4.2.0_sass_crsd4gh3mp5c3tycpa5olg7ljq/node_modules/vite-plugin-vue-devtools/dist/vite.mjs";
import VueI18nPlugin from "file:///C:/Users/AIC/Desktop/work/official-website-h5-new/node_modules/.pnpm/@intlify+unplugin-vue-i18n@4.0.0_rollup@4.18.0_vue-i18n@9.13.1_vue@3.4.27_typescript@5.4.5__/node_modules/@intlify/unplugin-vue-i18n/lib/vite.mjs";

// build/vite/vconsole.ts
import path from "node:path";
import { viteVConsole } from "file:///C:/Users/AIC/Desktop/work/official-website-h5-new/node_modules/.pnpm/vite-plugin-vconsole@2.1.1/node_modules/vite-plugin-vconsole/dist/main.mjs";
function createViteVConsole() {
  return viteVConsole({
    entry: [path.resolve("src/main.ts")],
    enabled: false,
    config: {
      maxLogNumber: 1e3,
      theme: "light"
    },
    // https://github.com/vadxq/vite-plugin-vconsole/issues/21
    dynamicConfig: {
      theme: `document.documentElement.classList.contains('dark') ? 'dark' : 'light'`
    },
    eventListener: `
      const targetElement = document.querySelector('html'); // \u62E9\u8981\u76D1\u542C\u7684\u5143\u7D20
      const observerOptions = {
        attributes: true, // \u76D1\u542C\u5C5E\u6027\u53D8\u5316
        attributeFilter: ['class'] // \u53EA\u76D1\u542Cclass\u5C5E\u6027\u53D8\u5316
      };

      // \u5B9A\u4E49\u56DE\u8C03\u51FD\u6570\u6765\u5904\u7406\u89C2\u5BDF\u5230\u7684\u53D8\u5316
      function handleAttributeChange(mutationsList) {
        for(let mutation of mutationsList) {
          if (mutation.type === 'attributes' && mutation.attributeName === 'class') {
            if (window && window.vConsole) {
              window.vConsole.dynamicChange.value = new Date().getTime();
            }
          }
        }
      }

      // \u521B\u5EFA\u89C2\u5BDF\u8005\u5B9E\u4F8B\u5E76\u4F20\u5165\u56DE\u8C03\u51FD\u6570
      const observer = new MutationObserver(handleAttributeChange);

      // \u5F00\u59CB\u89C2\u5BDF\u76EE\u6807\u5143\u7D20
      observer.observe(targetElement, observerOptions);

      // \u5F53\u4E0D\u518D\u9700\u8981\u89C2\u5BDF\u65F6\uFF0C\u505C\u6B62\u89C2\u5BDF
      // observer.disconnect();
    `
  });
}

// build/vite/index.ts
var __vite_injected_original_import_meta_url = "file:///C:/Users/AIC/Desktop/work/official-website-h5-new/build/vite/index.ts";
function createVitePlugins() {
  return [
    // https://github.com/posva/unplugin-vue-router
    VueRouter({
      extensions: [".vue"],
      routesFolder: "src/pages",
      dts: "src/typed-router.d.ts"
    }),
    vue(),
    // https://github.com/jbaubree/vite-plugin-sitemap
    Sitemap(),
    // https://github.com/pengzhanbo/vite-plugin-mock-dev-server
    mockDevServerPlugin(),
    // https://github.com/antfu/unplugin-vue-components
    Components({
      extensions: ["vue"],
      resolvers: [VantResolver()],
      include: [/\.vue$/, /\.vue\?vue/],
      dts: "src/components.d.ts"
    }),
    // https://github.com/antfu/unplugin-auto-import
    AutoImport({
      include: [
        /\.[tj]sx?$/,
        /\.vue$/,
        /\.vue\?vue/
      ],
      imports: [
        "vue",
        "vitest",
        "@vueuse/core",
        VueRouterAutoImports,
        {
          "vue-router/auto": ["useLink"],
          "@/utils/i18n": ["i18n", "locale"],
          "vue-i18n": ["useI18n"]
        },
        unheadVueComposablesImports
      ],
      dts: "src/auto-imports.d.ts",
      dirs: [
        "src/composables"
      ]
    }),
    // https://github.com/intlify/bundle-tools/tree/main/packages/unplugin-vue-i18n
    VueI18nPlugin({
      // locale messages resource pre-compile option
      include: resolve(dirname(fileURLToPath(__vite_injected_original_import_meta_url)), "../../src/locales/**")
    }),
    legacy({
      targets: ["defaults", "not IE 11"]
    }),
    // https://github.com/antfu/unocss
    // see uno.config.ts for config
    UnoCSS(),
    // https://github.com/vadxq/vite-plugin-vconsole
    createViteVConsole(),
    // https://github.com/vuejs/devtools-next
    VueDevTools(),
    // https://github.com/antfu/vite-plugin-pwa
    VitePWA({
      registerType: "autoUpdate",
      includeAssets: ["favicon.svg", "safari-pinned-tab.svg"],
      manifest: {
        name: "vue3-vant-mobile",
        short_name: "vue3-vant-mobile",
        theme_color: "#ffffff",
        icons: [
          {
            src: "/pwa-192x192.png",
            sizes: "192x192",
            type: "image/png"
          },
          {
            src: "/pwa-512x512.png",
            sizes: "512x512",
            type: "image/png"
          },
          {
            src: "/pwa-512x512.png",
            sizes: "512x512",
            type: "image/png",
            purpose: "any maskable"
          }
        ]
      }
    })
  ];
}

// build/vite/optimize.ts
var include = [
  "axios",
  "store",
  "echarts",
  "lodash-es",
  "resize-detector",
  "store/plugins/expire",
  "vant/es/cell-group/style/index",
  "vant/es/popup/style/index",
  "vant/es/picker/style/index",
  "vant/es/cell/style/index",
  "vant/es/switch/style/index",
  "vant/es/space/style/index",
  "vant/es/button/style/index",
  "vant/es/empty/style/index",
  "vant/es/icon/style/index",
  "vant/es/stepper/style/index"
];
var exclude = [
  "@iconify-json/carbon"
];

// vite.config.ts
var __vite_injected_original_dirname = "C:\\Users\\AIC\\Desktop\\work\\official-website-h5-new";
var vite_config_default = ({ mode }) => {
  const root = process.cwd();
  const env = loadEnv(mode, root);
  return {
    base: env.VITE_APP_PUBLIC_PATH,
    plugins: createVitePlugins(),
    server: {
      host: true,
      port: 3e3,
      proxy: {
        "/dev-api": {
          target: "http://11.145.17.221:7861",
          // 接口的域名
          rewrite: (path3) => path3.replace(/^\/dev-api/, "")
        },
        "/chat": {
          target: "http://11.145.17.224:7861",
          // 接口的域名
          changeOrigin: true
          // secure: false, // 如果是https接口，需要配置这个参数
          // rewrite: path => path.replace(/^\/chat/, '/chat')
        }
      }
    },
    resolve: {
      alias: {
        "~@": path2.join(__vite_injected_original_dirname, "./src"),
        "@": path2.join(__vite_injected_original_dirname, "./src"),
        "~": path2.join(__vite_injected_original_dirname, "./src/assets")
      }
    },
    css: {
      postcss: {
        plugins: [
          autoprefixer(),
          // https://github.com/wswmsword/postcss-mobile-forever
          viewport({
            appSelector: "#app",
            viewportWidth: 375,
            maxDisplayWidth: 600,
            rootContainingBlockSelectorList: [
              "van-tabbar",
              "van-popup"
            ]
          })
        ]
      }
    },
    build: {
      cssCodeSplit: false,
      chunkSizeWarningLimit: 2048
    },
    optimizeDeps: { include, exclude }
  };
};
export {
  vite_config_default as default
};
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZS5jb25maWcudHMiLCAiYnVpbGQvdml0ZS9pbmRleC50cyIsICJidWlsZC92aXRlL3Zjb25zb2xlLnRzIiwgImJ1aWxkL3ZpdGUvb3B0aW1pemUudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCJDOlxcXFxVc2Vyc1xcXFxBSUNcXFxcRGVza3RvcFxcXFx3b3JrXFxcXG9mZmljaWFsLXdlYnNpdGUtaDUtbmV3XCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ZpbGVuYW1lID0gXCJDOlxcXFxVc2Vyc1xcXFxBSUNcXFxcRGVza3RvcFxcXFx3b3JrXFxcXG9mZmljaWFsLXdlYnNpdGUtaDUtbmV3XFxcXHZpdGUuY29uZmlnLnRzXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ltcG9ydF9tZXRhX3VybCA9IFwiZmlsZTovLy9DOi9Vc2Vycy9BSUMvRGVza3RvcC93b3JrL29mZmljaWFsLXdlYnNpdGUtaDUtbmV3L3ZpdGUuY29uZmlnLnRzXCI7aW1wb3J0IHBhdGggZnJvbSAnbm9kZTpwYXRoJ1xyXG5pbXBvcnQgcHJvY2VzcyBmcm9tICdub2RlOnByb2Nlc3MnXHJcbmltcG9ydCB7IGxvYWRFbnYgfSBmcm9tICd2aXRlJ1xyXG5pbXBvcnQgdHlwZSB7IENvbmZpZ0VudiwgVXNlckNvbmZpZyB9IGZyb20gJ3ZpdGUnXHJcbmltcG9ydCB2aWV3cG9ydCBmcm9tICdwb3N0Y3NzLW1vYmlsZS1mb3JldmVyJ1xyXG5pbXBvcnQgYXV0b3ByZWZpeGVyIGZyb20gJ2F1dG9wcmVmaXhlcidcclxuaW1wb3J0IHsgY3JlYXRlVml0ZVBsdWdpbnMgfSBmcm9tICcuL2J1aWxkL3ZpdGUnXHJcbmltcG9ydCB7IGV4Y2x1ZGUsIGluY2x1ZGUgfSBmcm9tICcuL2J1aWxkL3ZpdGUvb3B0aW1pemUnXHJcblxyXG5leHBvcnQgZGVmYXVsdCAoeyBtb2RlIH06IENvbmZpZ0Vudik6IFVzZXJDb25maWcgPT4ge1xyXG4gIGNvbnN0IHJvb3QgPSBwcm9jZXNzLmN3ZCgpXHJcbiAgY29uc3QgZW52ID0gbG9hZEVudihtb2RlLCByb290KVxyXG5cclxuICByZXR1cm4ge1xyXG4gICAgYmFzZTogZW52LlZJVEVfQVBQX1BVQkxJQ19QQVRILFxyXG4gICAgcGx1Z2luczogY3JlYXRlVml0ZVBsdWdpbnMoKSxcclxuXHJcbiAgICBzZXJ2ZXI6IHtcclxuICAgICAgaG9zdDogdHJ1ZSxcclxuICAgICAgcG9ydDogMzAwMCxcclxuICAgICAgcHJveHk6IHtcclxuICAgICAgXHJcbiAgICAgICAgXCIvZGV2LWFwaVwiOntcclxuICAgICAgICAgIHRhcmdldDogXCJodHRwOi8vMTEuMTQ1LjE3LjIyMTo3ODYxXCIsIC8vIFx1NjNBNVx1NTNFM1x1NzY4NFx1NTdERlx1NTQwRFxyXG4gICAgICAgICAgIHJld3JpdGU6IHBhdGggPT4gcGF0aC5yZXBsYWNlKC9eXFwvZGV2LWFwaS8sICcnKVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgXCIvY2hhdFwiOiB7XHJcbiAgICAgICAgICB0YXJnZXQ6IFwiaHR0cDovLzExLjE0NS4xNy4yMjQ6Nzg2MVwiLCAvLyBcdTYzQTVcdTUzRTNcdTc2ODRcdTU3REZcdTU0MERcclxuICAgICAgICAgIGNoYW5nZU9yaWdpbjogdHJ1ZSxcclxuICAgICAgICAgIC8vIHNlY3VyZTogZmFsc2UsIC8vIFx1NTk4Mlx1Njc5Q1x1NjYyRmh0dHBzXHU2M0E1XHU1M0UzXHVGRjBDXHU5NzAwXHU4OTgxXHU5MTREXHU3RjZFXHU4RkQ5XHU0RTJBXHU1M0MyXHU2NTcwXHJcbiAgICAgICAgICAvLyByZXdyaXRlOiBwYXRoID0+IHBhdGgucmVwbGFjZSgvXlxcL2NoYXQvLCAnL2NoYXQnKVxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICB9LFxyXG5cclxuICAgIHJlc29sdmU6IHtcclxuICAgICAgYWxpYXM6IHtcclxuICAgICAgICAnfkAnOiBwYXRoLmpvaW4oX19kaXJuYW1lLCAnLi9zcmMnKSxcclxuICAgICAgICAnQCc6IHBhdGguam9pbihfX2Rpcm5hbWUsICcuL3NyYycpLFxyXG4gICAgICAgICd+JzogcGF0aC5qb2luKF9fZGlybmFtZSwgJy4vc3JjL2Fzc2V0cycpLFxyXG4gICAgICB9LFxyXG4gICAgfSxcclxuXHJcbiAgICBjc3M6IHtcclxuICAgICAgcG9zdGNzczoge1xyXG4gICAgICAgIHBsdWdpbnM6IFtcclxuICAgICAgICAgIGF1dG9wcmVmaXhlcigpLFxyXG4gICAgICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3dzd21zd29yZC9wb3N0Y3NzLW1vYmlsZS1mb3JldmVyXHJcbiAgICAgICAgICB2aWV3cG9ydCh7XHJcbiAgICAgICAgICAgIGFwcFNlbGVjdG9yOiAnI2FwcCcsXHJcbiAgICAgICAgICAgIHZpZXdwb3J0V2lkdGg6IDM3NSxcclxuICAgICAgICAgICAgbWF4RGlzcGxheVdpZHRoOiA2MDAsXHJcbiAgICAgICAgICAgIHJvb3RDb250YWluaW5nQmxvY2tTZWxlY3Rvckxpc3Q6IFtcclxuICAgICAgICAgICAgICAndmFuLXRhYmJhcicsXHJcbiAgICAgICAgICAgICAgJ3Zhbi1wb3B1cCcsXHJcbiAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICB9KSxcclxuICAgICAgICBdLFxyXG4gICAgICB9LFxyXG4gICAgfSxcclxuXHJcbiAgICBidWlsZDoge1xyXG4gICAgICBjc3NDb2RlU3BsaXQ6IGZhbHNlLFxyXG4gICAgICBjaHVua1NpemVXYXJuaW5nTGltaXQ6IDIwNDgsXHJcbiAgICB9LFxyXG5cclxuICAgIG9wdGltaXplRGVwczogeyBpbmNsdWRlLCBleGNsdWRlIH0sXHJcbiAgfVxyXG59XHJcbiIsICJjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZGlybmFtZSA9IFwiQzpcXFxcVXNlcnNcXFxcQUlDXFxcXERlc2t0b3BcXFxcd29ya1xcXFxvZmZpY2lhbC13ZWJzaXRlLWg1LW5ld1xcXFxidWlsZFxcXFx2aXRlXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ZpbGVuYW1lID0gXCJDOlxcXFxVc2Vyc1xcXFxBSUNcXFxcRGVza3RvcFxcXFx3b3JrXFxcXG9mZmljaWFsLXdlYnNpdGUtaDUtbmV3XFxcXGJ1aWxkXFxcXHZpdGVcXFxcaW5kZXgudHNcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfaW1wb3J0X21ldGFfdXJsID0gXCJmaWxlOi8vL0M6L1VzZXJzL0FJQy9EZXNrdG9wL3dvcmsvb2ZmaWNpYWwtd2Vic2l0ZS1oNS1uZXcvYnVpbGQvdml0ZS9pbmRleC50c1wiO2ltcG9ydCB7IGRpcm5hbWUsIHJlc29sdmUgfSBmcm9tICdub2RlOnBhdGgnXHJcbmltcG9ydCB7IGZpbGVVUkxUb1BhdGggfSBmcm9tICdub2RlOnVybCdcclxuaW1wb3J0IHsgdW5oZWFkVnVlQ29tcG9zYWJsZXNJbXBvcnRzIH0gZnJvbSAnQHVuaGVhZC92dWUnXHJcbmltcG9ydCBsZWdhY3kgZnJvbSAnQHZpdGVqcy9wbHVnaW4tbGVnYWN5J1xyXG5pbXBvcnQgdnVlIGZyb20gJ0B2aXRlanMvcGx1Z2luLXZ1ZSdcclxuaW1wb3J0IFVub0NTUyBmcm9tICd1bm9jc3Mvdml0ZSdcclxuaW1wb3J0IEF1dG9JbXBvcnQgZnJvbSAndW5wbHVnaW4tYXV0by1pbXBvcnQvdml0ZSdcclxuaW1wb3J0IHsgVmFudFJlc29sdmVyIH0gZnJvbSAndW5wbHVnaW4tdnVlLWNvbXBvbmVudHMvcmVzb2x2ZXJzJ1xyXG5pbXBvcnQgQ29tcG9uZW50cyBmcm9tICd1bnBsdWdpbi12dWUtY29tcG9uZW50cy92aXRlJ1xyXG5pbXBvcnQgeyBWdWVSb3V0ZXJBdXRvSW1wb3J0cyB9IGZyb20gJ3VucGx1Z2luLXZ1ZS1yb3V0ZXInXHJcbmltcG9ydCBWdWVSb3V0ZXIgZnJvbSAndW5wbHVnaW4tdnVlLXJvdXRlci92aXRlJ1xyXG5pbXBvcnQgbW9ja0RldlNlcnZlclBsdWdpbiBmcm9tICd2aXRlLXBsdWdpbi1tb2NrLWRldi1zZXJ2ZXInXHJcbmltcG9ydCB7IFZpdGVQV0EgfSBmcm9tICd2aXRlLXBsdWdpbi1wd2EnXHJcbmltcG9ydCBTaXRlbWFwIGZyb20gJ3ZpdGUtcGx1Z2luLXNpdGVtYXAnXHJcbmltcG9ydCBWdWVEZXZUb29scyBmcm9tICd2aXRlLXBsdWdpbi12dWUtZGV2dG9vbHMnXHJcbmltcG9ydCBWdWVJMThuUGx1Z2luIGZyb20gJ0BpbnRsaWZ5L3VucGx1Z2luLXZ1ZS1pMThuL3ZpdGUnXHJcbmltcG9ydCB7IGNyZWF0ZVZpdGVWQ29uc29sZSB9IGZyb20gJy4vdmNvbnNvbGUnXHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlVml0ZVBsdWdpbnMoKSB7XHJcbiAgcmV0dXJuIFtcclxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9wb3N2YS91bnBsdWdpbi12dWUtcm91dGVyXHJcbiAgICBWdWVSb3V0ZXIoe1xyXG4gICAgICBleHRlbnNpb25zOiBbJy52dWUnXSxcclxuICAgICAgcm91dGVzRm9sZGVyOiAnc3JjL3BhZ2VzJyxcclxuICAgICAgZHRzOiAnc3JjL3R5cGVkLXJvdXRlci5kLnRzJyxcclxuICAgIH0pLFxyXG5cclxuICAgIHZ1ZSgpLFxyXG5cclxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9qYmF1YnJlZS92aXRlLXBsdWdpbi1zaXRlbWFwXHJcbiAgICBTaXRlbWFwKCksXHJcblxyXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3Blbmd6aGFuYm8vdml0ZS1wbHVnaW4tbW9jay1kZXYtc2VydmVyXHJcbiAgICBtb2NrRGV2U2VydmVyUGx1Z2luKCksXHJcblxyXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2FudGZ1L3VucGx1Z2luLXZ1ZS1jb21wb25lbnRzXHJcbiAgICBDb21wb25lbnRzKHtcclxuICAgICAgZXh0ZW5zaW9uczogWyd2dWUnXSxcclxuICAgICAgcmVzb2x2ZXJzOiBbVmFudFJlc29sdmVyKCldLFxyXG4gICAgICBpbmNsdWRlOiBbL1xcLnZ1ZSQvLCAvXFwudnVlXFw/dnVlL10sXHJcbiAgICAgIGR0czogJ3NyYy9jb21wb25lbnRzLmQudHMnLFxyXG4gICAgfSksXHJcblxyXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2FudGZ1L3VucGx1Z2luLWF1dG8taW1wb3J0XHJcbiAgICBBdXRvSW1wb3J0KHtcclxuICAgICAgaW5jbHVkZTogW1xyXG4gICAgICAgIC9cXC5bdGpdc3g/JC8sXHJcbiAgICAgICAgL1xcLnZ1ZSQvLFxyXG4gICAgICAgIC9cXC52dWVcXD92dWUvLFxyXG4gICAgICBdLFxyXG4gICAgICBpbXBvcnRzOiBbXHJcbiAgICAgICAgJ3Z1ZScsXHJcbiAgICAgICAgJ3ZpdGVzdCcsXHJcbiAgICAgICAgJ0B2dWV1c2UvY29yZScsXHJcbiAgICAgICAgVnVlUm91dGVyQXV0b0ltcG9ydHMsXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgJ3Z1ZS1yb3V0ZXIvYXV0byc6IFsndXNlTGluayddLFxyXG4gICAgICAgICAgJ0AvdXRpbHMvaTE4bic6IFsnaTE4bicsICdsb2NhbGUnXSxcclxuICAgICAgICAgICd2dWUtaTE4bic6IFsndXNlSTE4biddLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgdW5oZWFkVnVlQ29tcG9zYWJsZXNJbXBvcnRzLFxyXG4gICAgICBdLFxyXG4gICAgICBkdHM6ICdzcmMvYXV0by1pbXBvcnRzLmQudHMnLFxyXG4gICAgICBkaXJzOiBbXHJcbiAgICAgICAgJ3NyYy9jb21wb3NhYmxlcycsXHJcbiAgICAgIF0sXHJcbiAgICB9KSxcclxuXHJcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vaW50bGlmeS9idW5kbGUtdG9vbHMvdHJlZS9tYWluL3BhY2thZ2VzL3VucGx1Z2luLXZ1ZS1pMThuXHJcbiAgICBWdWVJMThuUGx1Z2luKHtcclxuICAgICAgLy8gbG9jYWxlIG1lc3NhZ2VzIHJlc291cmNlIHByZS1jb21waWxlIG9wdGlvblxyXG4gICAgICBpbmNsdWRlOiByZXNvbHZlKGRpcm5hbWUoZmlsZVVSTFRvUGF0aChpbXBvcnQubWV0YS51cmwpKSwgJy4uLy4uL3NyYy9sb2NhbGVzLyoqJyksXHJcbiAgICB9KSxcclxuXHJcbiAgICBsZWdhY3koe1xyXG4gICAgICB0YXJnZXRzOiBbJ2RlZmF1bHRzJywgJ25vdCBJRSAxMSddLFxyXG4gICAgfSksXHJcblxyXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2FudGZ1L3Vub2Nzc1xyXG4gICAgLy8gc2VlIHVuby5jb25maWcudHMgZm9yIGNvbmZpZ1xyXG4gICAgVW5vQ1NTKCksXHJcblxyXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3ZhZHhxL3ZpdGUtcGx1Z2luLXZjb25zb2xlXHJcbiAgICBjcmVhdGVWaXRlVkNvbnNvbGUoKSxcclxuXHJcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vdnVlanMvZGV2dG9vbHMtbmV4dFxyXG4gICAgVnVlRGV2VG9vbHMoKSxcclxuXHJcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vYW50ZnUvdml0ZS1wbHVnaW4tcHdhXHJcbiAgICBWaXRlUFdBKHtcclxuICAgICAgcmVnaXN0ZXJUeXBlOiAnYXV0b1VwZGF0ZScsXHJcbiAgICAgIGluY2x1ZGVBc3NldHM6IFsnZmF2aWNvbi5zdmcnLCAnc2FmYXJpLXBpbm5lZC10YWIuc3ZnJ10sXHJcbiAgICAgIG1hbmlmZXN0OiB7XHJcbiAgICAgICAgbmFtZTogJ3Z1ZTMtdmFudC1tb2JpbGUnLFxyXG4gICAgICAgIHNob3J0X25hbWU6ICd2dWUzLXZhbnQtbW9iaWxlJyxcclxuICAgICAgICB0aGVtZV9jb2xvcjogJyNmZmZmZmYnLFxyXG4gICAgICAgIGljb25zOiBbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHNyYzogJy9wd2EtMTkyeDE5Mi5wbmcnLFxyXG4gICAgICAgICAgICBzaXplczogJzE5MngxOTInLFxyXG4gICAgICAgICAgICB0eXBlOiAnaW1hZ2UvcG5nJyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHNyYzogJy9wd2EtNTEyeDUxMi5wbmcnLFxyXG4gICAgICAgICAgICBzaXplczogJzUxMng1MTInLFxyXG4gICAgICAgICAgICB0eXBlOiAnaW1hZ2UvcG5nJyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHNyYzogJy9wd2EtNTEyeDUxMi5wbmcnLFxyXG4gICAgICAgICAgICBzaXplczogJzUxMng1MTInLFxyXG4gICAgICAgICAgICB0eXBlOiAnaW1hZ2UvcG5nJyxcclxuICAgICAgICAgICAgcHVycG9zZTogJ2FueSBtYXNrYWJsZScsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIF0sXHJcbiAgICAgIH0sXHJcbiAgICB9KSxcclxuICBdXHJcbn1cclxuIiwgImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCJDOlxcXFxVc2Vyc1xcXFxBSUNcXFxcRGVza3RvcFxcXFx3b3JrXFxcXG9mZmljaWFsLXdlYnNpdGUtaDUtbmV3XFxcXGJ1aWxkXFxcXHZpdGVcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZmlsZW5hbWUgPSBcIkM6XFxcXFVzZXJzXFxcXEFJQ1xcXFxEZXNrdG9wXFxcXHdvcmtcXFxcb2ZmaWNpYWwtd2Vic2l0ZS1oNS1uZXdcXFxcYnVpbGRcXFxcdml0ZVxcXFx2Y29uc29sZS50c1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9pbXBvcnRfbWV0YV91cmwgPSBcImZpbGU6Ly8vQzovVXNlcnMvQUlDL0Rlc2t0b3Avd29yay9vZmZpY2lhbC13ZWJzaXRlLWg1LW5ldy9idWlsZC92aXRlL3Zjb25zb2xlLnRzXCI7aW1wb3J0IHBhdGggZnJvbSAnbm9kZTpwYXRoJ1xyXG5pbXBvcnQgeyB2aXRlVkNvbnNvbGUgfSBmcm9tICd2aXRlLXBsdWdpbi12Y29uc29sZSdcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVWaXRlVkNvbnNvbGUoKSB7XHJcbiAgcmV0dXJuIHZpdGVWQ29uc29sZSh7XHJcbiAgICBlbnRyeTogW3BhdGgucmVzb2x2ZSgnc3JjL21haW4udHMnKV0sXHJcbiAgICBlbmFibGVkOiBmYWxzZSxcclxuICAgIGNvbmZpZzoge1xyXG4gICAgICBtYXhMb2dOdW1iZXI6IDEwMDAsXHJcbiAgICAgIHRoZW1lOiAnbGlnaHQnLFxyXG4gICAgfSxcclxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS92YWR4cS92aXRlLXBsdWdpbi12Y29uc29sZS9pc3N1ZXMvMjFcclxuICAgIGR5bmFtaWNDb25maWc6IHtcclxuICAgICAgdGhlbWU6IGBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCdkYXJrJykgPyAnZGFyaycgOiAnbGlnaHQnYCxcclxuICAgIH0sXHJcbiAgICBldmVudExpc3RlbmVyOiBgXHJcbiAgICAgIGNvbnN0IHRhcmdldEVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdodG1sJyk7IC8vIFx1NjJFOVx1ODk4MVx1NzZEMVx1NTQyQ1x1NzY4NFx1NTE0M1x1N0QyMFxyXG4gICAgICBjb25zdCBvYnNlcnZlck9wdGlvbnMgPSB7XHJcbiAgICAgICAgYXR0cmlidXRlczogdHJ1ZSwgLy8gXHU3NkQxXHU1NDJDXHU1QzVFXHU2MDI3XHU1M0Q4XHU1MzE2XHJcbiAgICAgICAgYXR0cmlidXRlRmlsdGVyOiBbJ2NsYXNzJ10gLy8gXHU1M0VBXHU3NkQxXHU1NDJDY2xhc3NcdTVDNUVcdTYwMjdcdTUzRDhcdTUzMTZcclxuICAgICAgfTtcclxuXHJcbiAgICAgIC8vIFx1NUI5QVx1NEU0OVx1NTZERVx1OEMwM1x1NTFGRFx1NjU3MFx1Njc2NVx1NTkwNFx1NzQwNlx1ODlDMlx1NUJERlx1NTIzMFx1NzY4NFx1NTNEOFx1NTMxNlxyXG4gICAgICBmdW5jdGlvbiBoYW5kbGVBdHRyaWJ1dGVDaGFuZ2UobXV0YXRpb25zTGlzdCkge1xyXG4gICAgICAgIGZvcihsZXQgbXV0YXRpb24gb2YgbXV0YXRpb25zTGlzdCkge1xyXG4gICAgICAgICAgaWYgKG11dGF0aW9uLnR5cGUgPT09ICdhdHRyaWJ1dGVzJyAmJiBtdXRhdGlvbi5hdHRyaWJ1dGVOYW1lID09PSAnY2xhc3MnKSB7XHJcbiAgICAgICAgICAgIGlmICh3aW5kb3cgJiYgd2luZG93LnZDb25zb2xlKSB7XHJcbiAgICAgICAgICAgICAgd2luZG93LnZDb25zb2xlLmR5bmFtaWNDaGFuZ2UudmFsdWUgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gXHU1MjFCXHU1RUZBXHU4OUMyXHU1QkRGXHU4MDA1XHU1QjlFXHU0RjhCXHU1RTc2XHU0RjIwXHU1MTY1XHU1NkRFXHU4QzAzXHU1MUZEXHU2NTcwXHJcbiAgICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoaGFuZGxlQXR0cmlidXRlQ2hhbmdlKTtcclxuXHJcbiAgICAgIC8vIFx1NUYwMFx1NTlDQlx1ODlDMlx1NUJERlx1NzZFRVx1NjgwN1x1NTE0M1x1N0QyMFxyXG4gICAgICBvYnNlcnZlci5vYnNlcnZlKHRhcmdldEVsZW1lbnQsIG9ic2VydmVyT3B0aW9ucyk7XHJcblxyXG4gICAgICAvLyBcdTVGNTNcdTRFMERcdTUxOERcdTk3MDBcdTg5ODFcdTg5QzJcdTVCREZcdTY1RjZcdUZGMENcdTUwNUNcdTZCNjJcdTg5QzJcdTVCREZcclxuICAgICAgLy8gb2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xyXG4gICAgYCxcclxuICB9KVxyXG59XHJcbiIsICJjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZGlybmFtZSA9IFwiQzpcXFxcVXNlcnNcXFxcQUlDXFxcXERlc2t0b3BcXFxcd29ya1xcXFxvZmZpY2lhbC13ZWJzaXRlLWg1LW5ld1xcXFxidWlsZFxcXFx2aXRlXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ZpbGVuYW1lID0gXCJDOlxcXFxVc2Vyc1xcXFxBSUNcXFxcRGVza3RvcFxcXFx3b3JrXFxcXG9mZmljaWFsLXdlYnNpdGUtaDUtbmV3XFxcXGJ1aWxkXFxcXHZpdGVcXFxcb3B0aW1pemUudHNcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfaW1wb3J0X21ldGFfdXJsID0gXCJmaWxlOi8vL0M6L1VzZXJzL0FJQy9EZXNrdG9wL3dvcmsvb2ZmaWNpYWwtd2Vic2l0ZS1oNS1uZXcvYnVpbGQvdml0ZS9vcHRpbWl6ZS50c1wiO2NvbnN0IGluY2x1ZGUgPSBbXHJcbiAgJ2F4aW9zJyxcclxuICAnc3RvcmUnLFxyXG4gICdlY2hhcnRzJyxcclxuICAnbG9kYXNoLWVzJyxcclxuICAncmVzaXplLWRldGVjdG9yJyxcclxuICAnc3RvcmUvcGx1Z2lucy9leHBpcmUnLFxyXG4gICd2YW50L2VzL2NlbGwtZ3JvdXAvc3R5bGUvaW5kZXgnLFxyXG4gICd2YW50L2VzL3BvcHVwL3N0eWxlL2luZGV4JyxcclxuICAndmFudC9lcy9waWNrZXIvc3R5bGUvaW5kZXgnLFxyXG4gICd2YW50L2VzL2NlbGwvc3R5bGUvaW5kZXgnLFxyXG4gICd2YW50L2VzL3N3aXRjaC9zdHlsZS9pbmRleCcsXHJcbiAgJ3ZhbnQvZXMvc3BhY2Uvc3R5bGUvaW5kZXgnLFxyXG4gICd2YW50L2VzL2J1dHRvbi9zdHlsZS9pbmRleCcsXHJcbiAgJ3ZhbnQvZXMvZW1wdHkvc3R5bGUvaW5kZXgnLFxyXG4gICd2YW50L2VzL2ljb24vc3R5bGUvaW5kZXgnLFxyXG4gICd2YW50L2VzL3N0ZXBwZXIvc3R5bGUvaW5kZXgnLFxyXG5dXHJcblxyXG5jb25zdCBleGNsdWRlID0gW1xyXG4gICdAaWNvbmlmeS1qc29uL2NhcmJvbicsXHJcbl1cclxuXHJcbmV4cG9ydCB7IGluY2x1ZGUsIGV4Y2x1ZGUgfVxyXG4iXSwKICAibWFwcGluZ3MiOiAiO0FBQWlWLE9BQU9BLFdBQVU7QUFDbFcsT0FBTyxhQUFhO0FBQ3BCLFNBQVMsZUFBZTtBQUV4QixPQUFPLGNB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
